今天介紹的陣列方法,不會回傳新陣列
而是會判斷或回傳布林值得方法
some
會將陣列中的每一個元素傳進 callback 函式中做判斷,只要有任一個元素符合判斷條件就會回傳 true,全部都不符合才會回傳 false
語法:
some
會將陣列中的元素一個一個傳進 callback 函式做判斷。
callback 函式有三個參數
Array.some(function callback(){
// return 判斷
})
範例:
var a=[1,2,3,4,5,6,7,8];
console.log(a.some(function(currentValue){
return currentValue>9
}))
every()
與 some()
很像。
every()
會將陣列中的元素一個一個帶進 callback 函式做判斷,並回傳判斷的結果
與 some()
不同的是,some()
只要任一元素符合結果就會回傳 true
。
而 every()
需要所有的元素都符合判斷的結果,才會回傳 true
,只要有一個元素不符合就會回傳 false
語法:
every()
會將陣列中的元素一個一個傳進 callback 函式做判斷
callback 函式裡面有三個元素
currentValue
,正被傳進函式處理的元素index
(選填),正被處理的元素的索引值array
(選填),呼叫 every() 的陣列Array.every(function callback(currentValue,index,array){
// return 判斷
})
範例:
function isBigEnough(currentValue){
return currentValue >=10
}
var a=[1,2,3,4,5,6,7,8].every(isBigEnough);
var b=[9,10,11,12].every(isBigEnough);
var c=[11,12,13,14,15].every(isBigEnough);
console.log(a); // false,不符合
console.log(b); // false,沒有全部符合
console.log(c); // true,全部符合